3.6.12.18 ReLU系命令
ReLU系命令はいずれも 2 入力で、表3.12で定義される。 table:表3.12 ReLU系命令の定義。第 1 入力をx、第 2 入力をyで表す。
オペランド 定義
relu1 xの上から(1-originで) 2番目のビットが 0 のときyを、 1 のとき− 0 を返す relu2 xの上から 3 番目のビットが 0 のときyを、 1 のとき− 0 を返す relu3 xの上から 4 番目のビットが 0 のときyを、 1 のとき− 0 を返す lrelud xのMSBが 0 のときyを、 1 のときy/ 2 を返す lreluo xのMSBが 0 のときyを、 1 のときy/ 8 を返す ilrelud xのMSBが 0 のときyを、 1 のときyの指数部をインクリメントしたものを返す その際は指数部の全ビットが 1 で、符号と仮数部は入力と同じである値を返す。 これらの定義はReLU系関数のforwardとbackwardの両方を計算できるようにするためのものである。 ReLU関数のbackward、すなわちwに関する勾配w′からvに関する勾配を求める計算をしたい場合は、relu(v, w′)またはrelu(w, w′)を実行すればよい。 この後者はrelu(v, v)の結果がvの符号を保存することから可能になっている。